////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2011-2012 www.iflytek.com. All Rights Reserved.
//  This software for customer relationship management system, developed by Noo team.
//  Software code and design for the team, copy rights reserved.
////////////////////////////////////////////////////////////////////////////////

package com.iflytek.ci.cpms.domain;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.iflytek.framework.web.jackson.CustomDateSerializer;

/**
 * <p>
 * 项目信息数据库映射对象.
 * </p>
 * 
 * @author poplar.yfyang
 * @version 1.0 2012-10-30 10:09 AM
 * @since JDK 1.5
 */
public class Project implements Serializable {
	/** 序列化ID */
	private static final long serialVersionUID = -172779858823495643L;
	/** 项目id */
	private long id;
	/** 项目名称 */
	private String name;
	/** 项目编码，标记，在问题中，该字段作为问题编码的前缀信息 */
	private String code;
	/** 项目访问地址 */
	private String url;
	/** 项目负责人 */
	private String lead;
	/** 开发组长 */
	private String dev_leader;
	/** 项目简述 */
	private String description;
	/** 负责该项目的团队ID */
	private long team;
	/** 反馈数量 */
	private long issue_size;
	/** 创建时间 */
	@JsonSerialize(using = CustomDateSerializer.class)
	private Date created;
	/** 项目图标 */
	private String avatar;
	/** 反馈集成工具访问地址 */
	private String tool_url;
	/** svn地址 */
	private String svn_url;

	/**
	 * 项目ID
	 * 
	 * @return 项目ID
	 */
	public long getId() {
		return id;
	}

	/**
	 * 设置项目ID
	 * 
	 * @param id
	 *            项目ID
	 */
	public void setId(long id) {
		this.id = id;
	}

	/**
	 * 获取项目名称
	 * 
	 * @return 项目名称
	 */
	public String getName() {
		return name;
	}

	/**
	 * 设置项目名称
	 * 
	 * @param name
	 *            项目名称
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 获取项目KEY
	 * 
	 * @return 项目KEY
	 */
	public String getCode() {
		return code;
	}

	/**
	 * 设置项目KEY标记
	 * 
	 * @param code
	 *            项目KEY标记
	 */
	public void setCode(String code) {
		this.code = code;
	}

	/**
	 * 获取项目访问URL
	 * 
	 * @return 项目访问URL
	 */
	public String getUrl() {
		return url;
	}

	/**
	 * 设置项目访问URL
	 * 
	 * @param url
	 *            项目访问URL
	 */
	public void setUrl(String url) {
		this.url = url;
	}

	/**
	 * 获取项目负责人
	 * 
	 * @return 项目负责人
	 */
	public String getLead() {
		return lead;
	}

	/**
	 * 设置 项目负责人
	 * 
	 * @param lead
	 *            项目负责人
	 */
	public void setLead(String lead) {
		this.lead = lead;
	}

	/**
	 * 获取开发组长
	 * 
	 * @return 开发组长
	 */
	public String getDev_leader() {
		return dev_leader;
	}

	/**
	 * 设置开发组长
	 * 
	 * @param dev_leader
	 *            开发组长
	 */
	public void setDev_leader(String dev_leader) {
		this.dev_leader = dev_leader;
	}

	/**
	 * 获取项目描述
	 * 
	 * @return 项目描述
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * 设置项目描述
	 * 
	 * @param description
	 *            项目描述
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * 获取项目团队ID
	 * 
	 * @return 项目团队ID
	 */
	public long getTeam() {
		return team;
	}

	/**
	 * 设置项目团队ID
	 * 
	 * @param team
	 *            团队ID
	 */
	public void setTeam(long team) {
		this.team = team;
	}

	/**
	 * 获取项目图标
	 * 
	 * @return 项目图标
	 */
	public String getAvatar() {
		return avatar;
	}

	/**
	 * 设置项目图标
	 * 
	 * @param avatar
	 *            项目图标
	 */
	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return 创建时间
	 */
	public Date getCreated() {
		return created;
	}

	/**
	 * 创建时间
	 * 
	 * @param created
	 *            创建时间
	 */
	public void setCreate(Date created) {
		this.created = created;
	}

	/**
	 * 获取反馈集成工具地址
	 * 
	 * @return 反馈集成工具地址
	 */
	public String getTool_url() {
		return tool_url;
	}

	/**
	 * 设置 反馈集成工具地址
	 * 
	 * @param tool_url
	 *            反馈集成工具地址
	 */
	public void setTool_url(String tool_url) {
		this.tool_url = tool_url;
	}

	/**
	 * 获取项目的反馈信息数量
	 * 
	 * @return issue_size
	 */
	public long getIssue_size() {
		return issue_size;
	}

	/**
	 * 设置项目的反馈信息数量
	 * 
	 * @param issue_size
	 */
	public void setIssue_size(long issue_size) {
		this.issue_size = issue_size;
	}

	/**
	 * 设置项目创建时间
	 * 
	 * @param created
	 */
	public void setCreated(Date created) {
		this.created = created;
	}

	/**
	 * 获取svn地址
	 * 
	 * @return svn路径
	 */
	public String getSvn_url() {
		return svn_url;
	}

	/**
	 * 设置svn的地址
	 * 
	 * @param svn_url
	 *            svn地址
	 */
	public void setSvn_url(String svn_url) {
		this.svn_url = svn_url;
	}
}
